home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6
/
Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso
/
016a
/
gofer221.zip
/
CONNECT.H
< prev
next >
Wrap
C/C++ Source or Header
|
1991-11-20
|
7KB
|
153 lines
/* --------------------------------------------------------------------------
* connect.h: Copyright (c) Mark P Jones 1991. All rights reserved.
* See goferite.h for details and conditions of use etc...
* Gofer version 2.21 November 1991
*
* Last updated 11/11/91 mpj
*
* Connections between components of the Gofer system
* ------------------------------------------------------------------------*/
/* --------------------------------------------------------------------------
* Standard data:
* ------------------------------------------------------------------------*/
extern Name nameFalse, nameTrue; /* primitive constructor functions */
extern Name nameNil, nameCons;
extern Name nameFatbar, nameFail; /* primitives reqd for translation */
extern Name nameIf, nameSel;
extern Name nameMinus, nameDivide;
extern Name nameUndefMem; /* undefined member primitive */
extern Name nameError; /* for runtime error messages */
extern Name nameAnd, nameOr; /* for optimisation of && and || */
extern Name nameNePrint, namePrint; /* primitives reqd for printing */
extern Text textPlus, textMult; /* used to recognise n+k/c*n pats */
extern Type typeString; /* String == [Char] */
extern Type typeDialogue; /* Dialogue== [Response]->[Request]*/
extern Cell *CStackBase; /* pointer to base of C stack */
extern List dataDefns; /* list of data type definitions */
extern List synonymDefns; /* list of synonym definitions */
extern List valDefns; /* list of value definitions */
extern List opDefns; /* list of operator definitions */
extern List classDefns; /* list of class definitions */
extern List instDefns; /* list of instance definitions */
extern List overDefns; /* list of overloaded member defns */
extern Cell inputExpr; /* evaluator input expression */
extern Addr inputCode; /* Code for compiled input expr */
extern Int whnfArgs; /* number of args of term in whnf */
extern Cell whnfHead; /* head of term in whnf */
extern Int whnfInt; /* integer value of term in whnf */
extern Float whnfFloat; /* float value of term in whnf */
extern Long numReductions; /* number of reductions used */
extern Long numCells; /* number of cells allocated */
extern Int numberGcs; /* number of garbage collections */
extern Bool gcMessages; /* TRUE => print GC messages */
extern Bool literateScripts; /* Set to TRUE for lit scripts */
extern Bool literateErrors; /* report errors in lit. scripts */
extern Bool useConformality; /* TRUE => check patbind conform'ty*/
extern Bool anyEvidence; /* TRUE => don't search for best ev*/
extern Bool coerceNumLiterals; /* TRUE => insert fromInteger calls*/
/* etc for numeric literals*/
extern Bool andorOptimise; /* TRUE => optimise uses of &&, || */
extern Bool showDicts; /* TRUE => show dictionary params */
/* in output expressions */
extern Bool catchAmbigs; /* TRUE => functions with ambig. */
/* types produce error */
extern Bool failOnError; /* TRUE => error produces immediate*/
/* termination */
extern Int maxEvidLevel; /* maximum no of selects in evid */
extern Bool silentEvFail; /* TRUE => keep quiet if maxEvidLev*/
/* is exceeded. */
/* --------------------------------------------------------------------------
* Function prototypes etc...
* ------------------------------------------------------------------------*/
extern Void everybody Args((Int));
#define RESET 1 /* reset subsystem */
#define MARK 2 /* mark parts of graph in use by subsystem */
#define INSTALL 3 /* install subsystem (executed once only) */
#define EXIT 4 /* Take action immediately before exit() */
#define BREAK 5 /* Take action after program break */
typedef long Target;
extern Void setGoal Args((String, Target));
extern Void soFar Args((Target));
extern Void done Args((Void));
extern Bool stringMatch Args((String,String));
extern String fromEnv Args((String,String));
extern Void storage Args((Int));
extern Void setLastExpr Args((Cell));
extern Cell getLastExpr Args((Void));
extern List addNamesMatching Args((String,List));
extern Void input Args((Int));
extern Void consoleInput Args((Void));
extern Void projInput Args((String));
extern Void parseScript Args((String,Long));
extern Void parseExp Args((Void));
extern String readFilename Args((Void));
extern String readLine Args((Void));
extern Syntax defaultSyntax Args((Text));
extern String unlexChar Args((Char,Char));
extern Void staticAnalysis Args((Int));
extern Void newTypeDefn Args((Int,Cell,Cell,Bool));
extern Bool isAmbiguous Args((Type));
extern Void ambigError Args((Int,String,Cell,Type));
extern Void classDefn Args((Int,Cell,Cell));
extern Void instDefn Args((Int,Cell,Cell));
extern Void primDefn Args((Int,List,Cell));
extern Void checkExp Args((Void));
extern Void checkDefns Args((Void));
extern Void typeChecker Args((Int));
extern Type typeCheckExp Args((Void));
extern Void typeCheckDefns Args((Void));
extern Cell instsOverlap Args((Inst,Inst));
extern Cell rhsExpr Args((Cell));
extern Int rhsLine Args((Cell));
extern Bool typeMatches Args((Type,Type));
extern Void compiler Args((Cell));
extern Void compileDefns Args((Void));
extern Void compileExp Args((Void));
extern Int discrArity Args((Cell));
extern Void machine Args((Int));
extern Addr codeGen Args((Name,Int,Cell));
extern Void unwind Args((Cell));
extern Void eval Args((Cell));
extern Cell evalWithNoError Args((Cell));
extern Void evalFails Args((StackPtr));
extern Cell graphForExp Args((Void));
extern Void builtIn Args((Int));
extern Void abandon Args((String,Cell));
extern Cell outputString Args((FILE *,Cell,Bool));
extern Void dialogue Args((Cell));
extern Cell consChar Args((Char));
extern Void machdep Args((Int));
extern Int shellEsc Args((String));
extern Int getTerminalWidth Args((Void));
extern Void normalTerminal Args((Void));
extern Void noechoTerminal Args((Void));
extern Int readTerminalChar Args((Void));
extern Void gcStarted Args((Void));
extern Void gcScanning Args((Void));
extern Void gcRecovered Args((Int));
extern Void gcCStack Args((Void));
/*-------------------------------------------------------------------------*/